#pragma once

#include <string>
#include "../../GameCore/TypeDefine.h"
#include "./ComponentDefine.h"

namespace aa
{

class Component
{
public:
	Component();
	virtual ~Component();

protected:
	component::TYPE m_Type;
	uint32 m_Id;
	std::wstring m_Name;
	std::wstring m_Description;

public:
	component::TYPE GetType() const { return m_Type; }
	uint32          GetId()   const { return m_Id; }
	std::wstring    GetName() const { return m_Name; }
	std::wstring    GetDescription() const { return m_Description; }
};

} // namespace aa